﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
/// <summary>
/// Summary description for Manipulation
/// </summary>
public class Manipulation
{
    public static string RandomKey(int PasswordLength)
    {
        string _allowedChars = "abcdefghijk0123456789lmnopqrstuvwxyz";
        Random randNum = new Random();
        char[] chars = new char[PasswordLength];
        int allowedCharCount = _allowedChars.Length;

        for (int i = 0; i < PasswordLength; i++)
        {
            chars[i] = _allowedChars[(int)((_allowedChars.Length) * randNum.NextDouble())];
        }
        return new string(chars);
    }

    public static bool SendMail(string from_address, string from_password,
           string from_displayName, string to_address,
           string subject, string body)
    {
        //--Tạo mail -----------------------------------------------------|
        MailMessage msg = new MailMessage();
        msg.To.Add(to_address);
        msg.From = new MailAddress(from_address, from_displayName, System.Text.Encoding.UTF8);
        msg.Subject = subject;
        msg.SubjectEncoding = System.Text.Encoding.UTF8;
        msg.Body = body;
        msg.BodyEncoding = System.Text.Encoding.UTF8;
        //--Cho phép gửi mã HTML trong mail ------------------------------|
        msg.IsBodyHtml = true;
        //--Độ ưu tiên của mail ------------------------------------------|
        msg.Priority = MailPriority.High;
        //--Chứng thực bao gồm username + password -----------------------|
        SmtpClient client = new SmtpClient();
        client.Credentials = new System.Net.NetworkCredential
        (from_address, from_password);
        //--Cổng 587 của server SMTP Google để gửi mail-------------------|
        client.Port = 587;
        //--Địa chỉ server SMTP của google -------------------------------|
        client.Host = "smtp.gmail.com";
        //--Sử dụng mã hóa đường truyền SSL (Secure Sockets Layer)--------|
        client.EnableSsl = true;
        //--Bắt đầu quá trình gửi mail -----------------------------------|
        try
        {
            //--Gửi mail--|
            client.Send(msg);
        }
        catch
        {
            //--Không thể gửi mail
            return false;
        }
        return true; //--Gửi mail thành công
    }
}